Embodiments relate to accessing data from a database, and in particular, to methods and systems providing cached views.
Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Databases have evolved to afford both increased capacity and complexity of the data structures that may be stored. As a result, customers can run complex queries on database tables from the application layer, without changing the underlying data model.
Instead, databases such as in memory database architectures may rely upon complex models that join, project, and aggregate the existing tables using relational operators in order to provide insights to the business user. These models and resulting database queries may implicate up to hundreds of database tables, and produce very large intermediate results in the realm of even billions of records.
Depending on the usage pattern of an overlying application building upon such a database, such complex queries can be run in a high frequency, producing a large query workload for the underlying database management system. In order to reduce this workload, and avoid expensive query re-computation, some database management systems may employ caching techniques. With the advent of more powerful database technology, however, such traditional caching techniques may still result in the database management system being forced to handle large data volumes.
Accordingly, there is a need for apparatuses and methods that performing improved caching approaches.